package Model;

import Viewer.Notes;
import Viewer.noteType;

public class Chord implements Comparable<Chord> {

	private noteType Type;
	private Notes Note;
	private String noteName;
	
	
	
	public Chord(){
		Type=null;
		Note=null;
		noteName="";		
	}
	
	
	public Chord(noteType ti, Notes no, String name){
		Type=ti;
		Note=no;
		noteName=name;		
	}

//	public String getFullName(){
//		String tipo = "";
//		
//		switch (Type) {
//		case BEMOLLE:
//			tipo = "b";
//			break;
//		case DIESIS:
//			tipo = "#";
//		default:
//			break;
//		}
//		
//		String nota = "";
//		switch (Note) {
//		case DO:
//			nota = "DO";
//			break;
//		case RE:
//			nota = "RE";
//			break;
//		case MI:
//			nota = "MI";
//			break;
//		case FA:
//			nota = "FA";
//			break;
//		case SOL:
//			nota = "SOL";
//			break;
//		case LA:
//			nota = "LA";
//			break;
//
//		default:
//			nota = "SI";
//			break;
//		}
//		
//		return nota+tipo+noteName;
//		
//	}

	public noteType getType() {
		return Type;
	}


	public void setType(noteType type) {
		Type = type;
	}


	public Notes getNote() {
		return Note;
	}


	public void setNote(Notes note) {
		Note = note;
	}


	public String getNoteName() {
		return noteName;
	}


	public void setNoteName(String noteName) {
		this.noteName = noteName;
	}


	@Override
	public int compareTo(Chord o) {
		
		if(this.Type.compareTo(o.Type)==0)
			if(this.Note.compareTo(o.Note)==0){
				return this.noteName.compareToIgnoreCase(o.noteName);
			}
			else{
				return this.Note.compareTo(o.Note);
			}
		
		return this.Type.compareTo(o.Type);
	}
	
	
	
}
